//==============================================================================
#ifndef _NOTIFICATIONLIST_H_
#define _NOTIFICATIONLIST_H_
#pragma once
#include "Component.h"
#include "SDL.h"
#include "list"
#include "SDL_draw.h"
#include "SDL_ttf.h"
#include "string"

#define FONT_SIZE 16;
//Space between last character rendered and end of textbox,
//values over or equal to 5 recommended.
#define END_SPACE 5
//Space between first character rendered and beginning of textbox,
//values over or equal to 5 recommended.
#define BEGIN_SPACE 5
//Colors
#define CYAN 0x99FFCC
#define BLACK 0x000000
#define WHITE 0xFFFFFF
#define ORANGE 0xFFCA12
struct  Notification {
	std::string message;
	int posX;
	int posY;
	int counter;
};
typedef std::list<Notification> LISTNOT;
//==============================================================================
namespace ui
{
class NotificationList : public Component {
private:
	LISTNOT* notifications;

public:
	NotificationList(int x, int y, int w, int h);
	void addNotification(std::string message);
	COMPONENT_TYPE handleEvent(SDL_Event* event);
	void draw(SDL_Surface*) throw (SDL_Exception);
	~NotificationList(void);
};
};
#endif
//==============================================================================
